1
Gói mã Ruby: Hệ sinh thái Gem
AI035Lesson 9
00:00

Hệ thống RubyGems hệ sinh thái là câu trả lời của Ruby đối với tình trạng hỗn loạn 'địa ngục phụ thuộc' trong việc quản lý thư viện truyền thống. Thay vì ghi đè các tệp tin trong một thư mục toàn cục chung, RubyGems sử dụng Sự cô lập về kiến trúc.

1. Ma thuật thời gian chạy

Khác với các thư viện chuẩn, mỗi phiên bản của Gem đều được lưu trữ trong một thư mục riêng biệt, độc lập. Khi bạn gọi lệnh gem 'tên', 'phiên bản', RubyGems thực hiện "ma thuật thời gian chạy": nó tự động thêm vào đầu mảng toàn cục lib thư mục $LOAD_PATH mảng toàn cục.

BlueCloth 0.0.4BlueCloth 0.5.5LOAD_PATHgem 'BlueCloth', '>=0.5.5'

2. Giải quyết và kho lưu trữ

Trong khi một cài đặt cục bộ có thể thất bại nếu thiếu một phụ thuộc, cài đặt từ xa (sử dụng --remote) sẽ tự động tải toàn bộ cây phụ thuộc từ một kho lưu trữ trung tâm, đảm bảo rằng Các ràng buộc phiên bản được đáp ứng trước khi quá trình thực thi bắt đầu.

main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>